<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  const str = "abc123.zxc456.qwe.78.9asd.34df.h756";
            // ↑

  const reg1 = /\d+\./;
  const reg2 = /\d+\./g;

  // 查询到的第一个符合的子串的索引
  // console.log( str.search( reg1 ) );
  // console.log( str.search( reg1 ) );
  // console.log( str.search( reg1 ) );

  // console.log( str.search( reg2 ) );
  // console.log( str.search( reg2 ) );
  // console.log( str.search( reg2 ) );

  // 无全局修饰的情况下，只查询第一个
  // console.log( str.match(reg1) );
  // console.log( str.match(reg1) );
  // console.log( str.match(reg1) );
  
  // 有全局修饰的情况下，查询全部
  // console.log( str.match(reg2) );
  // console.log( str.match(reg2) );
  // console.log( str.match(reg2) );

  // 无全局修饰的情况下，只查询第一个，多次执行，依然是第一个
  // console.log( reg1.exec(str) );
  // console.log( reg1.exec(str) );
  // console.log( reg1.exec(str) );


  console.log(str)
  // 有全局修饰的情况下，查询到符合的子串后，返回，同时lastIndex停留在之后的位置
  // 下次exec执行时，会从lastIndex的位置继续查询
  // 如果查询到最后，没有符合的子串，返回null，同时lastIndex为0
  console.log( reg2.exec(str) );
  console.log( reg2.lastIndex );
  
  console.log( reg2.exec(str) );
  console.log( reg2.lastIndex );

  reg2.lastIndex = 0;
  
  console.log( reg2.exec(str) );
  console.log( reg2.lastIndex );
  
  console.log( reg2.exec(str) );
  console.log( reg2.lastIndex );






  
</script>
</html>